<?php
namespace app\admin\controller;

use app\common\controller\CommonBase;
use app\admin\model\Admin as AdminModel;
use app\admin\model\Category as Cate;

use think\Request;
use think\Loader;
use think\Url;

class Category extends CommonBase
{
	public function index()
	{
		$this->redirect('catelist');
	}

	public function cateList()
	{
		//获取
		$category = Cate::all();

		return json($category);
	}

	public function lists()
	{
		$this->assign('pageConfig',json_encode([]));

		$category = Cate::all();

		$cat = [];



		$this->assign('pageLists',json_encode($category));
		return $this->fetch();
	}



	public function editForm($id)
	{
		$data = Cate::get($id);
		$this->assign('cateData',Loader::model('Category')->getCateTree());
		$this->assign('data',$data);
		return $this->fetch();
	}

	public function test16()
	{
		$items = array(
		    1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'),
		    2 => array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'),
		    3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'),
		    4 => array('id' => 4, 'pid' => 2, 'name' => '哈尔滨市'),
		    5 => array('id' => 5, 'pid' => 2, 'name' => '鸡西市'),
		    6 => array('id' => 6, 'pid' => 4, 'name' => '香坊区'),
		    7 => array('id' => 7, 'pid' => 4, 'name' => '南岗区'),
		    8 => array('id' => 8, 'pid' => 6, 'name' => '和兴路'),
		    9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'),
		    10 => array('id' => 10, 'pid' => 8, 'name' => '东北林业大学'),
		    11 => array('id' => 11, 'pid' => 9, 'name' => '哈尔滨工业大学'),
		    12 => array('id' => 12, 'pid' => 8, 'name' => '哈尔滨师范大学'),
		    13 => array('id' => 13, 'pid' => 1, 'name' => '赣州市'),
		    14 => array('id' => 14, 'pid' => 13, 'name' => '赣县'),
		    15 => array('id' => 15, 'pid' => 13, 'name' => '于都县'),
		    16 => array('id' => 16, 'pid' => 14, 'name' => '茅店镇'),
		    17 => array('id' => 17, 'pid' => 14, 'name' => '大田乡'),
		    18 => array('id' => 18, 'pid' => 16, 'name' => '义源村'),
		    19 => array('id' => 19, 'pid' => 16, 'name' => '上坝村'),
		);


		$tree = \app\common\tools\BinTools::tree2($items);

		print_r($tree);
	}


 

	public function create(Request $request)
	{

		$data = $request->param();
		$validate = Loader::validate('category');

		if(!$validate->check($data)){
			$this->error($validate->getError());
		}

		$cate = new Cate;

		$cate->allowField(true)->data($data);

		if(!$cate->save())
		{
			return $this->error($cate->getError(),'cateList');
		}

		Loader::model('BackstageLog')->record("新增分类,分类ID:[{$cate->id}]");
		return $this->success('分类新增成功', Url::build('cateList'));
	}


	public function save(Request $request)
	{
		$data = $request->param();
		$validate = Loader::validate('category');
		$id = $request->param('id');

		if($id>0)
		{
			$cate = Cate::get($id);
		}else{
			$cate = new Cate;
		}
		$scene = $id?'edit':'add';
		if(!$validate->scene($scene)->check($data)){
			$this->error($validate->getError());
		}

		$cate->data($data);


		if(!$cate->save())
		{
			return $this->error($cate->getError(),'cateList');
		}

		Loader::model('BackstageLog')->record("修改分类,分类ID:[{$cate->id}]");
		return $this->success('分类信息修改成功!', Url::build('cateList'));

	}

	public function destroy($id)
	{
		if (Loader::model('Category')->deleteCategory($id) === false) {
			return $this->error(Loader::model('Archive')->getError());
		}
		
		Loader::model('BackstageLog')->record("删除分类,ID:[{$id}]");

		return $this->success('文档删除成功', Url::build('admin/article/index'));
	}


	//暂存无限级分类
	protected function genTree5($items) { 
	    foreach ($items as $item)
	        $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']];
	    return isset($items[0]['son']) ? $items[0]['son'] : array();
	}

}